package main

import (
	"fmt"
	"time"
)

func myPrint(cha chan<- struct{}) {
	time.Sleep(time.Second * 3)
	cha <- struct{}{}
}

func main() {
	cha := make(chan struct{})
	go myPrint(cha)
	timer := time.NewTimer(time.Second * 2)
	defer timer.Stop()
	for {
		select {
		case <-cha:
			fmt.Println("全部已经打印完毕")
			return
		case <-timer.C:
			fmt.Println("到时间了！！！！！")
			timer.Reset(time.Second * 2) // 重置计时器

		}
	}

}

/*
到时间了！！！！！
全部已经打印完毕
*/
